A number of systems and programs are offered on the market for the design, the engineering and the manufacturing of objects. CAD is an acronym for Computer-Aided Design, e.g. it relates to software solutions for designing an object. CAE is an acronym for Computer-Aided Engineering, e.g. it relates to software solutions for simulating the physical behavior of a future product. CAM is an acronym for Computer-Aided Manufacturing, e.g. it relates to software solutions for defining manufacturing processes and operations. In such systems, the graphical user interface (GUI) plays an important role as regards the efficiency of the technique. These techniques may be embedded within Product Lifecycle Management (PLM) systems. PLM refers to a business strategy that helps companies to share product data, apply common processes, and leverage corporate knowledge for the development of products from conception to the end of their life, across the concept of extended enterprise.
The PLM solutions provided by Dassault Systemes (under the trademarks CATIA, ENOVIA and DELMIA) provide an Engineering Hub, which organizes product engineering knowledge, a Manufacturing Hub, which manages manufacturing engineering knowledge, and an Enterprise Hub which enables enterprise integrations and connections into both the Engineering and Manufacturing Hubs. All together the system delivers an open object model linking products, processes, resources to enable dynamic, knowledge-based product creation and decision support that drives optimized product definition, manufacturing preparation, production and service.
Some of these systems allow creating a surface from a plurality of 3D curves, which falls in the general category of geometric modeling and more precisely surface design. An introductory publication is: “Geometric Modeling”, 3rd Edition, by Michael E. Mortenson, Industrial Press, May, 2006. Of particular interest are composite surfaces (a quilt of one or many surfaces), of any type, in particular quilts of curved surfaces, triangle-mesh surfaces (composed of flat facets), or subdivision surfaces.
A B-Rep (Boundary Representation) is a mathematical model that shall be mentioned here because it groups all the above mentioned surfaces into a single concept. A B-Rep aggregates one or more functions fi(s, t)→(x, y, z) with domain in R2 and range in R3, and logical information as to how these individual pieces are “sewn” together. The sewing can be such that the surfaces are “trimmed” which means that the R2 domain of each function is not used in its entirety. How best to generate such a patchwork of surfaces from sets of curves is a traditional problem in geometric modeling. In the special case of triangle mesh, each individual surface element is a flat facet, in other words a plane. A widely known definition of a B-Rep is STEP AP203. This is the standard that CATIA V5 and CATIA V6 apply when exporting a CATPart as a .stp file. B-Reps can be open, in which case they do not enclose a volume, or closed, in which case they describe the frontier of a volume and as such may represent a solid object. In the STEP AP203, they are referred to by the keywords OPEN_SHELL and CLOSED_SHELL respectively. The term B-Rep may however be used in a wider sense than the AP203 norm. In AP203, the case of the open B-Rep is just called an open shell, with the term B-Rep (in keyword “ADVANCED_BREP_SHAPE_REPRESENTATION”) being reserved to the closed shell case. A B-Rep that does not enclose a volume is often referred to as a surface (in the singular form), even when composed of many sub-functions. This is especially the case when the junctions between the sub-pieces are smooth, masking to the user the composite nature of the object. Engineers or stylists frequently speak of the composite shapes generated as a single surface.
To facilitate construction of 3D models, in particular free-form shapes, some CAD systems provide diverse methods for generating a B-Rep (or portion thereof) from a set of lower dimensional inputs. These inputs might be a set of points at regular intervals, a set of points and tangent planes, a profile and an extrusion direction, a combination of sweep profiles and sweep rails, a set of curves to interpolate. In the case of sets of curves, these are generally required to be perfectly intersecting or to be sequenced. For example, the NET surface of CATIA V5/6 creates surfaces from a grid of intersecting curves.
A variety of functions that map from R2 into R3 can be used to form a B-Rep. These can go from simple planes (as in a triangle mesh) to very high order polynomials, and including also canonic surfaces such as the cylinder. It is also possible to make use of a Catmull-Clark Subdivision Surface integrated e.g. to CATIA, as described in U.S. Pat. Nos. 7,595,799 and 7,400,323. In these systems, the Subdivision Surface is first converted to a triangle mesh, for real-time visualization, and then converted to B-Spline surfaces for definitive high-quality result.
Also worth mentioning is Computer-Aided Curve Sketching. Creation of surfaces from curves is best used in a context where curves can be created quickly and easily. Curve sketching is a rich field of research in computer graphics. The publication entitled “ILoveSketch: As-natural-as-possible sketching system for creating 3D curve models,” ACM Symposium on User Interface Software and Technology 2008, Monterey, Calif., USA, Oct. 19-22, 2008, and the publication entitled “EverybodyLovesSketch: 3D Sketching for a Broader Audience,” Seok-Hyung Bae, Ravin Balakrishnan, and Karan Singh, Proceedings of ACM Symposium on User Interface Software and Technology 2009 (Victoria, BC, Canada, Oct. 4-7, 2009, pp. 59-68, present curve sketching. These two publications deal with networks of curves that define a shape, but do not propose to dress the shape with a surface, because of the difficulty of this operation.
One problem of the existing solutions for creating a surface from a plurality of 3D curves is the little flexibility given to the artist or engineer in shape definition. Existing solutions do not allow unconstrained design actions. Typically, they do not satisfy a highly creative artist user who is (rightly) impatient with any inflexibility of the computer system when putting new ideas down to the drawing board. They do not allow for trial and error and very interactive modification of the shape. They are not usable by any person involved in the product design, but just by the product design artists. A system which is usable by any person involved in the product design would be helpful because all might exchange ideas, and are thus subject to the same constraint of instant creation as the artist.
Methods in prior art that construct surfaces from curves fall into two categories: sweep/loft type methods, and net surfaces (net as in network).
Sweep/loft methods require the separation of curves into different categories; typically one curve will be the guide, and the others will be sectional shapes, or maybe the sectional shapes will be given and no guide. In all of these cases, the inputs must be carefully organized and the resulting surface is not truly free-form but rather a flowing shape that is oriented in a given direction (from one section to the next, or along the guide curve). Sweeping and lofting are very useful, and used intensively in CAD systems, but it is not applicable to truly free-form sketching of 3D shapes, because it requires a detailed view of the shape that is to be obtained, and thus does not support an open ended, trial and error type approach.
Network surfaces (net for short) are a family of techniques of which the best known is the Coons surface. A good discussion of the Coons surface can be found in the article “Discrete Coons Patches” Farin & Hansford, Computer Aided Geometric Design 16 (1999) 691-700. Many other types of net surfaces exist, including the CATIA net surface mentioned above, or the method described in a publication that addresses how to fit subdivision surfaces to curves (“Interpolating Nets of Curves by Smooth Subdivision Surfaces”, Levin, Siggraph 99), which is based on defining a particular subdivision scheme that converges to the curves. Net surfaces all have in common that they interpolate a network of curves. Because the surface goes through the curves, the curves must intersect each other, forming a grid with closed loops. This is a showstopper condition for most artistic work, since it is practically impossible to sketch freely in 3D a set of curves such that they touch each other.
Also worth mentioning is a reference for fitting, which is the publication entitled “fitting subdivision surfaces”, by Litke, Levin and Schroder, Siggraph 2001. The method described in this paper works on a general target (all points have target locations they should attain).
Within this context, there is still a need for an improved solution for creating a surface from a plurality of 3D curves.